Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Data Protection API</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Data_Protection_API"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Data_Protection_API rootpage-Data_Protection_API skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Data Protection API</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p><b>Data Protection Application Programming Interface</b> (<b>DPAPI</b>) is a simple <a href="Cryptography" title="Cryptography">cryptographic</a> <a href="Application_programming_interface" class="mw-redirect" title="Application programming interface">application programming interface</a> available as a built-in component in <a href="Windows_2000" title="Windows 2000">Windows 2000</a> and later versions of <a href="Microsoft_Windows" title="Microsoft Windows">Microsoft Windows</a> <a href="Operating_system" title="Operating system">operating systems</a>. In theory, the Data Protection API can enable symmetric encryption of any kind of data; in practice, its primary use in the Windows operating system is to perform symmetric encryption of asymmetric private keys, using a user or system secret as a significant contribution of entropy. A detailed analysis of DPAPI inner-workings was published in 2011 by <a href="Elie_Bursztein" title="Elie Bursztein">Bursztein</a> et al.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>For nearly all <a href="Cryptosystem" title="Cryptosystem">cryptosystems</a>, one of the most difficult challenges is "<a href="Key_management" title="Key management">key management</a>"&nbsp;– in part, how to securely store the decryption key. If the key is stored in <i><a href="Plain_text" title="Plain text">plain text</a></i>, then any user that can access the key can access the encrypted data. If the key is to be encrypted, another key is needed, and so on. DPAPI allows developers to encrypt keys using a symmetric key derived from the user's logon secrets, or in the case of system encryption, using the system's domain authentication secrets.
</p><p>The DPAPI keys used for encrypting the user's <a href="RSA_(cryptosystem)" class="mw-redirect" title="RSA (cryptosystem)">RSA</a> keys are stored under <code>%APPDATA%\Microsoft\Protect\{SID}</code> directory, where {SID} is the <a href="Security_Identifier" title="Security Identifier">Security Identifier</a> of that user. The DPAPI key is stored in the same file as the master key that protects the users private keys. It usually is 64&nbsp;bytes of random data.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Security_properties">Security properties</h2></div>
<p>DPAPI doesn't store any persistent data for itself; instead, it simply receives <a href="Plaintext" title="Plaintext">plaintext</a> and returns <a href="Ciphertext" title="Ciphertext">ciphertext</a> (or conversely).
</p><p>DPAPI security relies upon the Windows operating system's ability to protect the master key and <a href="RSA_(algorithm)" class="mw-redirect" title="RSA (algorithm)">RSA</a> private keys from compromise, which in most attack scenarios is most highly reliant on the security of the end user's credentials. A main encryption/decryption key is derived from user's password by <a href="PBKDF2" title="PBKDF2">PBKDF2</a> function.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Particular data <a href="Binary_large_object" class="mw-redirect" title="Binary large object">binary large objects</a> can be encrypted in a way that <a href="Salt_(cryptography)" title="Salt (cryptography)">salt</a> is added and/or an external user-prompted password (aka "Strong Key Protection") is required. The use of a salt is a per-implementation option&nbsp;– i.e. under the control of the application developer&nbsp;– and is not controllable by the end user or system administrator.
</p><p>Delegated access can be given to keys through the use of a <a href="COM%2B" class="mw-redirect" title="COM+">COM+</a> object. This enables <a href="Internet_Information_Services" title="Internet Information Services">IIS</a> <a href="Web_servers" class="mw-redirect" title="Web servers">web servers</a> to use DPAPI.
</p>
<div class="mw-heading mw-heading2"><h2 id="Active_Directory_backup_keys">Active Directory backup keys</h2></div>
<p>When a computer is a member of a domain, DPAPI has a backup mechanism to allow data deprotection in case the user's password is lost, which is named "Credential Roaming".
When installing a new domain on a domain controller, a public and private key pair is generated, associated with DPAPI.
When a master key is generated on a client workstation, the client communicates through an authenticated <a href="Remote_procedure_call" title="Remote procedure call">RPC</a> call with a domain controller to retrieve a copy of the domain's public key. The client encrypts the master key with the domain controller's public key. Finally, it stores this new backup master key in its AppData directory, just like traditional master key storage.
</p>
<div class="mw-heading mw-heading2"><h2 id="Use_of_DPAPI_by_Microsoft_software">Use of DPAPI by Microsoft software</h2></div>
<p>While not universally implemented in all Microsoft products, the use of DPAPI by Microsoft products has increased with each successive version of Windows. However, many applications from Microsoft and third-party developers still prefer to use their own protection approach or have only recently switched to use DPAPI. For example, <a href="Internet_Explorer" title="Internet Explorer">Internet Explorer</a> versions 4.0–6.0, <a href="Outlook_Express" title="Outlook Express">Outlook Express</a> and <a href="MSN_Explorer" class="mw-redirect" title="MSN Explorer">MSN Explorer</a> used the older Protected Storage (PStore) API to store saved credentials such as passwords etc. <a href="Internet_Explorer_7" title="Internet Explorer 7">Internet Explorer&nbsp;7</a> now protects stored user credentials using DPAPI.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>Picture password, PIN and fingerprint in <a href="Windows_8" title="Windows 8">Windows 8</a></li>
<li><a href="Encrypting_File_System" title="Encrypting File System">Encrypting File System</a> in Windows 2000 and later</li>
<li>SQL Server <a href="Transparent_Data_Encryption" class="mw-redirect" title="Transparent Data Encryption">Transparent Data Encryption</a> (TDE) Service Master Key encryption<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Internet_Explorer_7" title="Internet Explorer 7">Internet Explorer 7</a>, both in the standalone version available for <a href="Windows_XP" title="Windows XP">Windows&nbsp;XP</a> and in the integrated versions available in <a href="Windows_Vista" title="Windows Vista">Windows Vista</a> and <a href="Windows_Server_2008" title="Windows Server 2008">Windows Server 2008</a></li>
<li><a href="Microsoft_Edge" title="Microsoft Edge">Microsoft Edge</a></li>
<li><a href="Windows_Mail" class="mw-redirect" title="Windows Mail">Windows Mail</a> and <a href="Windows_Live_Mail" title="Windows Live Mail">Windows Live Mail</a></li>
<li>Outlook for <a href="S/MIME" title="S/MIME">S/MIME</a></li>
<li><a href="Internet_Information_Services" title="Internet Information Services">Internet Information Services</a> for <a href="Transport_Layer_Security" title="Transport Layer Security">SSL/TLS</a></li>
<li>Windows <a href="Rights_Management_Services" class="mw-redirect" title="Rights Management Services">Rights Management Services</a> client v1.1 and later</li>
<li><a href="Windows_2000" title="Windows 2000">Windows 2000</a> and later for <a href="Extensible_Authentication_Protocol#EAP-TLS" title="Extensible Authentication Protocol">EAP/TLS</a> (<a href="VPN" class="mw-redirect" title="VPN">VPN</a> authentication) and 802.1x (<a href="WiFi" class="mw-redirect" title="WiFi">WiFi</a> authentication)</li>
<li>Windows XP and later for stored user names and passwords<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> (aka Credential Manager)</li>
<li><a href=".NET_Framework_2.0" class="mw-redirect" title=".NET Framework 2.0">.NET Framework 2.0</a> and later for System.Security.Cryptography.ProtectedData<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup></li>
<li>Microsoft.Owin (Katana) authentication by default when self-hosting (including cookie authentication and <a href="OAuth" title="OAuth">OAuth</a> tokens)<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFBurszteinPicod2010" class="citation conference cs1">Bursztein, Elie; Picod, Jean Michel (2010). <a rel="nofollow" class="external text" href="https://elie.net/publication/recovering-windows-secrets-and-efs-certificates-offline/">"Recovering Windows secrets and EFS certificates offline"</a>. <i>WoOT 2010</i>. Usenix.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.passcape.com/windows_password_recovery_dpapi_master_key">"Windows Password Recovery – DPAPI Master Key analysis"</a>. <i>Passcape.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2013-05-06</span></span>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFMikhael_Felker2006" class="citation web cs1">Mikhael Felker (December 8, 2006). <a rel="nofollow" class="external text" href="https://community.broadcom.com/symantecenterprise/communities/community-home/librarydocuments/viewdocument?DocumentKey=cd572045-0dfe-4b49-9df6-578cbc441ce5&amp;CommunityKey=1ecf5f55-9545-44d6-b0f4-4e4a7f5f5e68&amp;tab=librarydocuments">"Password Management Concerns with IE and Firefox, part one"</a>. <a href="SecurityFocus.com" class="mw-redirect" title="SecurityFocus.com">SecurityFocus.com</a>, <a href="Symantec.com" class="mw-redirect" title="Symantec.com">Symantec.com</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-28</span></span>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://msdn.microsoft.com/en-us/library/ms189586(v=sql.110).aspx">"Encryption Hierarchy"</a>. <i>Msdn.microsoft.com</i>. April 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">14 October</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://technet.microsoft.com/en-us/library/bb457059.aspx">"What's New in Security for Windows XP Professional and Windows XP Home Edition"</a>. <i>Technet.microsoft.com</i>. 11 September 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">14 October</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://msdn2.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspx">"ProtectedData Class (System.Security.Cryptography)"</a>. <i>Msdn2.microsoft.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">14 October</span> 2017</span>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/microsoft.owin.security.cookies.cookieauthenticationoptions.ticketdataformat(v=vs.113).aspx">"CookieAuthenticationOptions.TicketDataFormat Property (Microsoft.Owin.Security.Cookies)"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2015-01-15</span></span>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/microsoft.owin.security.oauth.oauthauthorizationserveroptions.accesstokenformat(v=vs.113).aspx">"OAuthAuthorizationServerOptions.AccessTokenFormat Property (Microsoft.Owin.Security.OAuth)"</a>. 27 October 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-11-26</span></span>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://lestutosdeprocessus.fr/dechiffrement-dpapi.html">Le fonctionnement de DPAPI par Processus Thief (FR)</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20221020071943/https://lestutosdeprocessus.fr/dechiffrement-dpapi.html">Archived</a> 2022-10-20 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a></li>
<li><a rel="nofollow" class="external text" href="https://go.microsoft.com/fwlink/?LinkId=89993">Windows Data Protection API (DPAPI) white paper by NAI Labs</a></li>
<li><a rel="nofollow" class="external text" href="http://www.codeproject.com/KB/system/protected_data.aspx">Data encryption with DPAPI</a></li>
<li><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/library/aa302404.aspx">How To: Use DPAPI (User Store) from ASP.NET 1.1 with Enterprise Services</a></li>
<li><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/library/system.security.cryptography.protecteddata.aspx">System.Security.Cryptography.ProtectedData in .NET Framework 2.0 and later</a></li>
<li><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/library/cc201324.aspx">Discussion of the use of MS BackupKey Remote Protocol by DPAPI to protect user secrets</a></li>
<li><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/library/bb432403.aspx">The Windows PStore</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Microsoft_APIs_and_frameworks486" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Microsoft_APIs_and_frameworks486" style="font-size:114%;margin:0 4em"><a href="List_of_Microsoft_Windows_application_programming_interfaces_and_frameworks" title="List of Microsoft Windows application programming interfaces and frameworks">Microsoft APIs and frameworks</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Graphics and UI</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Desktop_Window_Manager" title="Desktop Window Manager">Desktop Window Manager</a></li>
<li><a href="Direct2D" title="Direct2D">Direct2D</a></li>
<li><a href="Direct3D" title="Direct3D">Direct3D</a></li>
<li><a href="D3DX" title="D3DX">D3D (extensions)</a></li>
<li><a href="Graphics_Device_Interface" title="Graphics Device Interface">GDI / GDI+</a></li>
<li><a href="Windows_Presentation_Foundation" title="Windows Presentation Foundation">WPF</a></li>
<li><a href="Microsoft_Silverlight" title="Microsoft Silverlight">Silverlight</a></li>
<li><a href="Windows_UI_Library" title="Windows UI Library">WinUI</a></li>
<li><a href="Windows_Color_System" title="Windows Color System">Windows Color System</a></li>
<li><a href="Windows_Image_Acquisition" title="Windows Image Acquisition">Windows Image Acquisition</a></li>
<li><a href="Windows_Imaging_Component" title="Windows Imaging Component">Windows Imaging Component</a></li>
<li><a href="DirectX_Graphics_Infrastructure" title="DirectX Graphics Infrastructure">DirectX Graphics Infrastructure (DXGI)</a></li>
<li><a href="Windows_Advanced_Rasterization_Platform" title="Windows Advanced Rasterization Platform">Windows Advanced Rasterization Platform</a></li>
<li><a href="WinG" title="WinG">WinG</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Audio</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="DirectMusic" title="DirectMusic">DirectMusic</a></li>
<li><a href="DirectSound" title="DirectSound">DirectSound</a></li>
<li><a href="Cross-platform_Audio_Creation_Tool" title="Cross-platform Audio Creation Tool">XACT</a></li>
<li><a href="Microsoft_Speech_API" title="Microsoft Speech API">Speech API</a></li>
<li><a href="XAudio2" title="XAudio2">XAudio2</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Multimedia</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="DirectX" title="DirectX">DirectX</a>
<ul><li><a href="DirectX_Media_Objects" class="mw-redirect" title="DirectX Media Objects">Media Objects</a></li>
<li><a href="DirectX_Video_Acceleration" title="DirectX Video Acceleration">Video Acceleration</a></li></ul></li>
<li><a href="Xinput" class="mw-redirect" title="Xinput">Xinput</a></li>
<li><a href="DirectInput" title="DirectInput">DirectInput</a></li>
<li><a href="DirectShow" title="DirectShow">DirectShow</a></li>
<li><a href="Managed_DirectX" title="Managed DirectX">Managed DirectX</a></li>
<li><a href="Media_Foundation" title="Media Foundation">Media Foundation</a></li>
<li><a href="Microsoft_XNA" title="Microsoft XNA">XNA</a></li>
<li><a href="Windows_Media" title="Windows Media">Windows Media</a></li>
<li><a href="Video_for_Windows" title="Video for Windows">Video for Windows</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Web</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Trident_(software)" title="Trident (software)">MSHTML</a></li>
<li><a href="JScript" title="JScript">JScript</a></li>
<li><a href="VBScript" title="VBScript">VBScript</a></li>
<li><a href="Browser_Helper_Object" title="Browser Helper Object">BHO</a></li>
<li><a href="XMLHttpRequest" title="XMLHttpRequest">XDR</a></li>
<li><a href="Microsoft_Gadgets" title="Microsoft Gadgets">SideBar Gadgets</a></li>
<li><a href="TypeScript" title="TypeScript">TypeScript</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Data access</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microsoft_Data_Access_Components" title="Microsoft Data Access Components">Data Access Components (MDAC)</a>
<ul><li><a href="ActiveX_Data_Objects" title="ActiveX Data Objects">ADO</a></li>
<li><a href="ADO.NET" title="ADO.NET">ADO.NET</a></li>
<li><a href="ODBC" class="mw-redirect" title="ODBC">ODBC</a></li>
<li><a href="OLE_DB" title="OLE DB">OLE DB</a></li></ul></li>
<li><a href="Extensible_Storage_Engine" title="Extensible Storage Engine">Extensible Storage Engine</a></li>
<li><a href="Entity_Framework" title="Entity Framework">Entity Framework</a></li>
<li><a href="Microsoft_Sync_Framework" title="Microsoft Sync Framework">Sync Framework</a></li>
<li><a href="Access_Database_Engine" title="Access Database Engine">Access Database Engine</a></li>
<li><a href="MSXML" title="MSXML">MSXML</a></li>
<li><a href="Open_Packaging_Conventions" title="Open Packaging Conventions">OPC</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Networking</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Winsock" title="Winsock">Winsock</a>
<ul><li><a href="Layered_Service_Provider" title="Layered Service Provider">LSP</a></li></ul></li>
<li><a href="Windows_Vista_networking_technologies#Winsock_Kernel" title="Windows Vista networking technologies">Winsock Kernel</a></li>
<li><a href="Windows_Filtering_Platform" title="Windows Filtering Platform">Filtering Platform</a></li>
<li><a href="Network_Driver_Interface_Specification" title="Network Driver Interface Specification">NDIS</a></li>
<li><a href="Windows_Rally" title="Windows Rally">Windows Rally</a></li>
<li><a href="Background_Intelligent_Transfer_Service" title="Background Intelligent Transfer Service">BITS</a></li>
<li><a href="Windows_Vista_networking_technologies#Peer-to-peer_communication" title="Windows Vista networking technologies">P2P API</a></li>
<li><a href="Microsoft_Message_Queuing" title="Microsoft Message Queuing">MSMQ</a></li>
<li><a href="DirectPlay" title="DirectPlay">DirectPlay</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Communication</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="MAPI" title="MAPI">Messaging API</a></li>
<li><a href="Telephony_Application_Programming_Interface" title="Telephony Application Programming Interface">Telephony API</a></li>
<li><a href="Windows_Communication_Foundation" title="Windows Communication Foundation">WCF</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Administration and<br>management</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Win32_console" class="mw-redirect" title="Win32 console">Win32 console</a></li>
<li><a href="Windows_Script_Host" title="Windows Script Host">Windows Script Host</a></li>
<li><a href="Windows_Management_Instrumentation" title="Windows Management Instrumentation">WMI (extensions)</a></li>
<li><a href="PowerShell" title="PowerShell">PowerShell</a></li>
<li><a href="Windows_Task_Scheduler" title="Windows Task Scheduler">Task Scheduler</a></li>
<li><a href="Windows_Vista_I/O_technologies#Offline_Files" title="Windows Vista I/O technologies">Offline Files</a></li>
<li><a href="Shadow_Copy" title="Shadow Copy">Shadow Copy</a></li>
<li><a href="Windows_Installer" title="Windows Installer">Windows Installer</a></li>
<li><a href="Windows_Error_Reporting" title="Windows Error Reporting">Error Reporting</a></li>
<li><a href="Event_Viewer#Windows_Event_Log" title="Event Viewer">Event Log</a></li>
<li><a href="Common_Log_File_System" title="Common Log File System">Common Log File System</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em"><a href="Component-based_software_engineering" title="Component-based software engineering">Component model</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Component_Object_Model" title="Component Object Model">COM</a></li>
<li><a href="Component_Object_Model#COM+" title="Component Object Model">COM+</a></li>
<li><a href="ActiveX" title="ActiveX">ActiveX</a></li>
<li><a href="Distributed_Component_Object_Model" title="Distributed Component Object Model">Distributed Component Object Model</a></li>
<li><a href=".NET_Framework" title=".NET Framework">.NET Framework</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em"><a href="Library_(computing)" title="Library (computing)">Libraries</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Framework_Class_Library" title="Framework Class Library">Framework Class Library</a></li>
<li><a href="Microsoft_Foundation_Class_Library" title="Microsoft Foundation Class Library">Microsoft Foundation Classes (MFC)</a></li>
<li><a href="Active_Template_Library" title="Active Template Library">Active Template Library (ATL)</a></li>
<li><a href="Windows_Template_Library" title="Windows Template Library">Windows Template Library (WTL)</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em"><a href="Device_driver" title="Device driver">Device drivers</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Windows_Driver_Model" title="Windows Driver Model">WDM</a></li>
<li><a href="Windows_Driver_Frameworks" title="Windows Driver Frameworks">WDF</a>
<ul><li><a href="Kernel-Mode_Driver_Framework" title="Kernel-Mode Driver Framework">KMDF</a></li>
<li><a href="User-Mode_Driver_Framework" title="User-Mode Driver Framework">UMDF</a></li></ul></li>
<li><a href="Windows_Display_Driver_Model" title="Windows Display Driver Model">WDDM</a></li>
<li><a href="Network_Driver_Interface_Specification" title="Network Driver Interface Specification">NDIS</a></li>
<li><a href="Universal_Audio_Architecture" title="Universal Audio Architecture">UAA</a></li>
<li><a href="VxD" title="VxD">VxD</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Security</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microsoft_CryptoAPI" title="Microsoft CryptoAPI">Crypto API</a>
<ul><li><a href="CAPICOM" title="CAPICOM">CAPICOM</a></li></ul></li>
<li><a href="Windows_CardSpace" title="Windows CardSpace">Windows CardSpace</a></li>

<li><a href="Security_Support_Provider_Interface" title="Security Support Provider Interface">Security Support Provider Interface (SSPI)</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em"><a href=".NET_Framework" title=".NET Framework">.NET</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ASP.NET" title="ASP.NET">ASP.NET</a></li>
<li><a href="ADO.NET" title="ADO.NET">ADO.NET</a></li>
<li><a href=".NET_Remoting" title=".NET Remoting">Remoting</a></li>
<li><a href="Microsoft_Silverlight" title="Microsoft Silverlight">Silverlight</a></li>
<li><a href="Task_Parallel_Library" class="mw-redirect" title="Task Parallel Library">TPL</a></li>
<li><a href="Windows_Communication_Foundation" title="Windows Communication Foundation">WCF</a></li>
<li><a href="Windows_CardSpace" title="Windows CardSpace">WCS</a></li>
<li><a href="Windows_Presentation_Foundation" title="Windows Presentation Foundation">WPF</a></li>
<li><a href="Windows_Workflow_Foundation" title="Windows Workflow Foundation">WF</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em"><a href="Software_Factory_(Microsoft_.NET)" class="mw-redirect" title="Software Factory (Microsoft .NET)">Software factories</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microsoft_Enterprise_Library" title="Microsoft Enterprise Library">Enterprise Library</a></li>
<li><a href="Microsoft_Customer_Care_Framework" title="Microsoft Customer Care Framework">CCF</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em"><a href="Inter-process_communication" title="Inter-process communication">IPC</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microsoft_RPC" title="Microsoft RPC">MSRPC</a></li>
<li><a href="Dynamic_Data_Exchange" title="Dynamic Data Exchange">Dynamic Data Exchange (DDE)</a></li>
<li><a href=".NET_Remoting" title=".NET Remoting">Remoting</a></li>
<li><a href="Windows_Communication_Foundation" title="Windows Communication Foundation">WCF</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Accessibility</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microsoft_Active_Accessibility" title="Microsoft Active Accessibility">Active Accessibility</a></li>
<li><a href="Microsoft_UI_Automation" title="Microsoft UI Automation">UI Automation</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;line-height:1.2em">Text and multilingual<br>support</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="DirectWrite" title="DirectWrite">DirectWrite</a></li>
<li><a href="Text_Services_Framework" title="Text Services Framework">Text Services Framework</a></li>
<li><a href="Text_Object_Model" title="Text Object Model">Text Object Model</a></li>
<li><a href="Input_method" title="Input method">Input method editor</a></li>
<li><a href="Language_Interface_Pack" title="Language Interface Pack">Language Interface Pack</a></li>
<li><a href="Multilingual_User_Interface" title="Multilingual User Interface">Multilingual User Interface</a></li>
<li><a href="Uniscribe" title="Uniscribe">Uniscribe</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-11-20" href="https://en.wikipedia.org/wiki/?title=Data_Protection_API&amp;oldid=1258652790">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>